package com.tcc.fastline.DAO.mock;

import java.util.List;

import com.tcc.fastline.DAO.interfaces.IUsuarioDAO;
import com.tcc.fastline.Domain.Usuario;

public class UsuarioMockDAO implements IUsuarioDAO {

	@Override
	public Usuario CriarUsuario(Usuario user) {
		BDmock.Usuarios.add(user);
		return user;
	}

	@Override
	public List<Usuario> BuscarUsuarios() {
		return BDmock.Usuarios;
	}

	@Override
	public void ExcluirUsuario(Integer codigoUsuario) {
		Usuario usuarioExistente = SelecionarUsuario(codigoUsuario);

		if (usuarioExistente != null) {
			BDmock.Usuarios.remove(usuarioExistente);
		}
	}

	private Usuario SelecionarUsuario(Integer codigoUsuario) {
		for (Usuario user : BDmock.Usuarios) {
			if (user.getCodigo() == codigoUsuario) {
				return user;
			}
		}
		return null;
	}

	@Override
	public void AtualizarUsuario(Usuario user) {
		Usuario usuarioExistente = SelecionarUsuario(user.getCodigo());

		if (usuarioExistente != null) {
			BDmock.Usuarios.remove(usuarioExistente);
			
			usuarioExistente.setDataNascimento(user.getDataNascimento());
			usuarioExistente.setDocumento(user.getDocumento());
			usuarioExistente.setEmail(user.getEmail());
			usuarioExistente.setNome(user.getNome());
			usuarioExistente.setSenha(user.getSenha());
			
			BDmock.Usuarios.add(usuarioExistente);
		}

	}
}
